package com.awccis.admin.dao;

import com.awccis.admin.model.worder.WastageOrderBean;
import com.awccis.admin.model.worder.WastageOrderViewBean;
import org.springframework.stereotype.Repository;

import java.util.Date;
import java.util.List;

/**
 * @author: txp
 * @date: 2018/8/1 on 下午9:42
 * @since: 1.0
 * @description:
 */
@Repository
public interface AdminWastageOrderDao {

    /**
     * 插入还未获取司机的流失订单信息
     *
     * @param wastageOrderBean wastageOrder
     * @return 影响行数
     */
    Integer insertNoDriverWastageOrder(WastageOrderBean wastageOrderBean);

    /**
     * 插入已获取司机的流失订单信息
     *
     * @param wastageOrderBean wastageOrder
     * @return 影响行数
     */
    Integer insertHasDriverWastageOrder(WastageOrderBean wastageOrderBean);

    /**
     * 查询所有已经获取司机的流失订单信息
     *
     * @return list
     */
    List<WastageOrderViewBean> selectHasDriverWastageOrders();

    /**
     * 查询当天的已经获取司机的流失订单信息
     *
     * @return list
     */
    List<WastageOrderViewBean> selectHasDriverTodayWastageOrders();

    /**
     * 查询指定天的已获取司机的所有的流失订单信息
     * @param day 时间
     * @return list
     */
    List<WastageOrderViewBean> selectHasDriverDateWastageOrders(Date day);

    /**
     * 根据customerID查询此乘客已经获取司机的流失订单信息
     *
     * @param customerId customerID
     * @return list
     */
    List<WastageOrderViewBean> selectHasDriverWastageOrdersByCustomerId(int customerId);

    /**
     * 根据driverId查询此司机的流失订单信息
     *
     * @param driverId driverId
     * @return list
     */
    List<WastageOrderViewBean> selectHasDriverWastageOrdersByDriverId(int driverId);

    /**
     * 查询所有未获取司机的流失订单信息
     *
     * @return list
     */
    List<WastageOrderViewBean> selectNoDriverWastageOrders();

    /**
     * 查询当天的未获取司机的流失订单信息
     *
     * @return list
     */
    List<WastageOrderViewBean> selectNoDriverTodayWastageOrder();

    /**
     * 查询指定天的未获取司机的所有流失订单信息
     * @param day 指定天
     * @return list
     */
    List<WastageOrderViewBean> selectNoDriverDateWastageOrder(Date day);

    /**
     * 根据customerID查询未获取司机的流失订单信息
     *
     * @param customerId customerID
     * @return list
     */
    List<WastageOrderViewBean> selectNoDriversWastageOrdersByCustomerId(int customerId);
}
